package com.pig4cloud.pigx.contract.api.v1.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pig4cloud.pigx.common.core.util.R;
import com.pig4cloud.pigx.contract.dto.AppContractMarginChangeDTO;
import com.pig4cloud.pigx.contract.entity.ContractPosition;
import com.pig4cloud.pigx.contract.open.api.dto.OpenApiMultipleChangeDTOV1;
import com.pig4cloud.pigx.contract.open.api.vo.OpenApiPositionVOV1;

import java.math.BigDecimal;
import java.util.List;

/**
 */
public interface PositionServiceV1 extends IService<ContractPosition> {

	/**
	 * 获取未平仓的持仓数量
	 * @param symbolName 币对名称
	 */
	R<BigDecimal> getCurrentCount(String symbolName);

	/**
	 * 获取当前仓位数量多空比
	 * @param symbolName 币对名称
	 */
	R<BigDecimal> getProportion(String symbolName);

	/**
	 * 修改杠杆倍数
	 *
	 * @param dto dto
	 * @return R
	 */
	R multipleChange(OpenApiMultipleChangeDTOV1 dto);

	/**
	 * 逐仓调整保证金
	 *
	 * @param dto dto
	 * @return r
	 */
	R marginChange(AppContractMarginChangeDTO dto);

	/**
	 * 获取当前持仓的仓位信息
	 * @param symbolName 币对名称
	 * @return list
	 */
	R<List<OpenApiPositionVOV1>> getCurrentPosition(String symbolName);

}
